.TH E1432_SET_XFER_SIZE 3 E1432
.SH NAME
.nf
e1432_set_xfer_size \- Set local bus transfer size
e1432_get_xfer_size \- Get current local bus transfer size
.fi
.IX e1432_set_xfer_size(3) 3
.IX e1432_get_xfer_size(3) 3
.SH SYNOPSIS
.cS
SHORTSIZ16 e1432_set_xfer_size(E1432ID hw, SHORTSIZ16 ID,
                               LONGSIZ32 xfer_size)
SHORTSIZ16 e1432_get_xfer_size(E1432ID hw, SHORTSIZ16 ID,
                               LONGSIZ32 *xfer_size)
.cE
.SH DESCRIPTION

\fIe1432_set_xfer_size\fR sets the local bus transfer size, of a single
channel or group of channels \fIID\fR, to the value given in
\fIxfer_size\fR.

\fIe1432_get_xfer_size\fR returns the current value of the local bus
transfer size, of a single channel or group of channels \fIID\fR, into
a memory location pointed to by \fIxfer_size\fR.

When the data port is set to VME (see \fIe1432_set_data_port\fR), then
\fIxfer_size\fR is not used.  When the data port is set to local bus,
or local bus eavesdrop, this \fIxfer_size\fR is the number of data
points in each block sent to the local bus.

The default value for \fIxfer_size\fR is zero, which means to use the
current \fIblocksize\fR instead.

If zoom is on (see \fIe1432_set_zoom\fR), each point is complex.  This
means the number of values sent over the local bus is twice the
\fIxfer_size\fR, or twice the \fIblocksize\fR if \fIxfer_size\fR is
zero.

This parameter is a "global" parameter.  It applies to an entire E1432
module rather than to one of its channels.  The \fIID\fR parameter is
used only to identify which module the function applies to, and all
channels in that module will report the same value for this parameter.

\fIhw\fR must be the result of a successful call to
\fIe1432_assign_channel_numbers\fR, and specifies the group of
hardware to talk to.

\fIID\fR is either the ID of a group of channels that was obtained with a
call to \fIe1432_create_channel_group\fR, or the ID of a single channel.

\fIxfer_size\fR selects the number of sample points in a block.  The
minimum legal value is 0 (which means to use the \fIblocksize\fR
instead); the maximum depends on how much RAM is available and how
many channels are active in a module.  This parameter should not
include the size of the appended status data, as defined in
\fIe1432_set_append_status\fR.

When the data size is set to \fBE1432_DATA_SIZE_16\fR, the
\fIxfer_size\fR will be rounded down to an even number (but a non-zero
\fIxfer_size\fR of less than four will get rounded up to four).

.SH "RESET VALUE"
After a reset, the measurement \fIxfer_size\fR is set to 0.
.SH "RETURN VALUE"
Return 0 if successful, a (negative) error number otherwise.
.SH "SEE ALSO"
.na
e1432_set_append_status, e1432_set_data_port, e1432_set_data_size,
e1432_get_xfer_size_limits, e1432_get_fifo_size_current_max,
e1432_set_zoom
.ad
